//
//  NSString+Extension.m

//
//  Created by Apple on 15/6/22.
//  Copyright (c) 2015年 xlzhang. All rights reserved.
//

#import "NSString+Extension.h"

@implementation NSString (Extension)


// 设置最大范围
// CGSize maxSize = CGSizeMake(maxWidth, MAXFLOAT);
// 参数为:字体大小和显示的最大尺寸
-(CGSize)textSizeWithFont:(UIFont *)font maxSize:(CGSize)maxSize{
    
    return [self boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:font} context:nil].size;
}
@end

/*
// 说明：
- (void)test {
 第一种方式：(7.0开始过时)
 // sizeWithFont:只计算一行
 //    CGSize nameSize = [name sizeWithFont:self.nameLabel.font];
 
 第二种方式：(7.0开始过时)
 //    sizeWithFont:constrainedToSize:会自动换行计算
 //    CGSize nameSize = [name sizeWithFont:self.nameLabel.font constrainedToSize:CGSizeMake(MAXFLOAT, MAXFLOAT)];
 
 第三种方式：(7.0以后开始的新方法，官方推荐使用)
 // boundingRectWithSize:计算给定文本内容实际占据的矩形区域。
 // 返回值是一个CGRect 其中x,y=0，宽高就是计算好的实际区域
 // 1.创建一个设置字体的可变字典
 NSMutableDictionary *attributes = [NSMutableDictionary dictionary];
    
 // 2.设置字体，字体的固定key为：NSFontAttributeName
 attributes[NSFontAttributeName] = self.nameLabel.font;
    
 // 3.options:如果计算的是多行，固定使用NSStringDrawingUsesLineFragmentOrigin
 
 CGSize nameSize =  [name boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size;

}
*/